package org.elsfs.cloud.module.ai.api.entity;

import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.elsfs.cloud.common.annotations.Spell;
import org.elsfs.cloud.common.core.entity.BaseSpellEntity;

/**
 * 向量配置
 *
 * @author zeng
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ColumnWidth(20)
public class AiEmbeddingStore extends BaseSpellEntity {
    @TableId
    @Schema(description = "配置id")
    @ExcelProperty(value = "配置id")
    private String storeId;
    /**
     * 配置类型 （0 主机形式 | 1 url形式）
     * DsConfTypeEnum
     */
    @Schema(description = "配置类型")
    @ExcelProperty(value = "配置类型")
    private String confType;
    @Spell
    @Schema(description = "名称")
    @ExcelProperty(value = "名称")
    private String name;
    /**
     * @see org.elsfs.cloud.module.ai.api.enums.StoreType
     */
    @Schema(description = "类型")
    @ExcelProperty(value = "类型")
    private String storeType;
    @Schema(description = "密钥")
    @ExcelProperty(value = "密钥")
    private String apiKey;
    @Schema(description = "url")
    @ExcelProperty(value = "url")
    private String url;
    @Schema(description = "host")
    @ExcelProperty(value = "host")
    private String host;
    @Schema(description = "端口")
    @ExcelProperty(value = "端口")
    private Integer port;
    @Schema(description = "数据库")
    @ExcelProperty(value = "数据库")
    private String extData;
    @Schema(description = "状态")
    @ExcelProperty(value = "状态")
    private String status;

}
